Generally, CAN (Controller Area Network) is a communication protocol for information exchange among on-board electronic control units (ECUs) used in an engine management system, an automatic transmission, an airbag system, an electronic stability program (ESP) and etc.
CAN protocol is a broadcasting protocol of a serial type with a very high level stability to be defined as ISO 11898 for a high speed and ISO 11519-2 for a low speed.
Such CAN protocol provides two message frame formats where CAN standard frame provides ID having a length of 11 bits and CAN extended frame provides ID of 29 bits.
However, if there is calculating error, system failure or dead lock when one MCU (Micro Control Unit) is used in a system operating in real time such as CAN, it is impossible to transmit data, so that a system requiring data in real time may recognize failure of data input as a defect or it may malfunction.
Especially, the real time data is required in a system which calculates and processes a steering angle data in a vehicle. Therefore, there have been studies to settle such an error by two sensor inputs and two MCUs with mutual control and synchronized communication in a steering angle computing system which requires the real time data.
Referring to FIG. 1, a conventional steering angle computing system 10 adopting a dual controller receives a sensing signal from sensor 20. Then, MCU1 30 and MCU2 40 of a dual constitution calculate a steering angle according to a predetermined algorithm and transmit it to other nodes (ECU: Electronic Control Unit) in a vehicle network through CAN bus. At this time, to transmit the calculated data (steering angle data), CAN modules 35 and 45 included in the MCU1 30 and MCU2 40 form the steering angle data into a message frame of CAN protocol and transmit to CAN bus through CAN transceiver 50. In error detection, if there is a problem in MCU1 30 and MCU2 40, an output error can be prevented by mutual comparison and mutual control through communication between MCUs.
However, according to the conventional art, when problems occur in CAN modules 35, 45 or data output calculating units 31, 41 for driving them even though verification results of comparing units 33, 43 are correct, there is no way to recognize a transmit of the error to the vehicle.
Especially, if the CAN modules 35, 45 cannot recognize a control authority which is received from the comparing/controlling units 33, 43 or if the CAN modules 35, 45 cannot be controlled due to an error of the comparing/controlling units 33, 43, a problem may occur because an error data, that is a prior input, is repeatedly transmitted to the vehicle.
Also, it is highly probable that the problems may continue because the comparing/controlling units 33, 43 cannot recognize them. Also, it cannot be recognized if there is a problem in an actual transmission state to the vehicle except for the information exchange through the communication between the MCUs. Also, if there is a problem in the synchronization, probability of the error rises because factors of the control authority depend on the communication between the MCUs. That is, it is hard to detect errors occurring at other components when there is no problem in the main control units.
Also, according to the conventional art, the values of the sensors 20 are compared to complement each other. Therefore, mutual calculations for the input values of the sensors 20 have to be performed at the same time in order for accurate comparing calculation of the comparing units. To this end, mutual synchronization is set using the communication between the MCUs. In this case, only if the communication between the MCUs is normally accomplished, a normal MCU can control to prevent impact on the vehicle when one of the two MCU has a problem.
However, when there is a problem in the communication between the controllers, a problem may occur between recognition of the communication problem and an output control, so that correct data may not be output. Also, though the transmission may be stopped when each MCU recognizes the communication error between the MCUs, a minor error such as delay in the mutual synchronization cannot be detected, so that there is a high probability of danger to be brought about due to a processing of wrong data.